Since the invention of computer systems, it has been a goal to provide systems which “think”, which adapt themselves to new situations, new problems, new forms of input; not just providing answers, but also providing solutions not previously anticipated. Under the broad umbrella of artificial intelligence, two main approaches have developed: machine learning, and knowledge acquisition. The goal of machine learning is to provide computers with the ability to acquire knowledge on their own from observations or through instruction, while knowledge acquisition systems attempt to make computers “expert” in some area by drawing knowledge from experts, encoding this knowledge for use in a computer system, and providing software programs which use this knowledge to develop solutions.
Current knowledge acquisition systems require knowledge engineers working with software engineers to interview experts, capture the knowledge, encode the knowledge in a computer-usable format, and write or use software to use the knowledge. This process is expensive, requires specialized training, is inefficient in the use of the expert's time, and is often unsuccessful in producing useful knowledge or solutions. The process also requires that knowledge be entered as strings of text in a format very like that of a programming language. This entry often requires substantial experience and skill in the language and the process of encoding knowledge into this language.
Prior art systems and methods which process Task Method Knowledge (“TMK”) hierarchies using software require the entry of the hierarchy (typographically) in a programming language, such as LISP. As is well-known, visual systems are available for a number of current programming languages including C++ and BASIC. These systems, however are not useful in the entry of TMK knowledge systems, and cannot be modified to support TMK as they ultimately devolve to the typographic entry of programming language statements. It is the typographic entry of programming statements which are avoided by the current invention. There are also well-known systems for the visual entry of non-programmatic entities, specifically, architectural plans, maps, electronic design diagrams, and many others. These systems are also of no use in the entry of TMK knowledge systems and the result of these entry systems is a static entity which may be reviewed, printed, etc., but is not processed to solution as a knowledge system.
There is also patented prior art including U.S. Pat. No. 5,806,056 Hekmatpour which discloses an expert system and method employing hierarchical knowledge base, and interactive multimedia/hypermedia applications. However the hierarchical knowledge base is not of TMK structure and cannot be modified to use TMK. Additionally, the disclosed system does provide a graphical interface for the entry of its hierarchy, however, this graphical interface also devolves to the entry of knowledge as textual programmatic statements. The present invention provides an interface which does not include the entry of knowledge as text statements. Current TMK knowledge processing systems solve the hierarchy by compiling the language statements which define the hierarchy, then run the compiled program on a suitable computer system. This runs the hierarchy as a computer application written in the language of the hierarchy statements. As such, any tracing or loggings of events are as a computer program in that language. The user of such a system cannot stop the program and inspect the knowledge processing to that point except to stop the program at a specific programming statement. The user cannot stop the processing a specific method, process, or other object of the hierarchy. Nor can the user see the hierarchy run except as stepping through programming language statements. Thus it takes programming skill to not only enter the hierarchy, but also to run, debug, analyze and modify the hierarchy to solution.